The present invention relates to methods and apparatuses for notification of user input situations and execution terminations in asynchronously executing tasks in multitasking computer environments.
Multitasking computer environments allow users to run or execute plural objects (such as application programs) in an apparent simultaneous manner. For example, a user can execute a spread sheet application, a graphics application and a phone application at the same time.
Each object has a user interface displayed to a user on a computer screen. User interfaces for specific applications on a computer system present themselves on a computer screen as a window, a full screen session, an icon or plural combinations thereof. When a full screen session object is selected, the user interface takes up the entire screen and may prompt the user with a command line. When an object is displayed as a window, the window typically takes up only a portion of the screen, so that other objects may be seen.
A user input is provided to an object through a focused window or full screen session only one object can be focused (or otherwise made accessible to a user) at any one time. If an object is not focused, it is not enabled for receiving a user input. Unfocused objects may or may not be obscured from the view of the user by the focused object. For example, if the focused object is represented by a full screen session, then all unfocused objects are obscured from view. If the focused object is represented by a window that takes up only a portion of the screen, then some objects (represented as either windows or icons) are likely to be visible.
The limitation that only one object can be focused for receiving a user input at any given time presents a problem in multitasking computer environments. A user may start an application in one user interface and then go to another user interface to work with another application. The user must poll the first application to determine when the first application either completes or prompts for a user input. Alternatively, the user can simply sit at the screen, waiting for the first application to complete and prompt for a user input. For example, suppose a user begins the formatting of a diskette. To continue operations with the diskette, the user must wait for the formatting to be completed. While formatting, the user begins to use other applications. While using these other applications, a convenient method is needed to indicate the completion of the formatting of the diskette.
In general, a convenient method is needed to indicate to the user that either a specific asynchronously executing task is complete or that a prompt for user input has been provided.
It is therefore an object of the present invention to provide a method and apparatus for providing notification to a user of an object prompt mode, regardless of the activity that the user is engaging in.
It is another object of the present invention to provide a method and apparatus for providing notification to a user of termination of an asynchronously executing task.
The present invention provides a method and apparatus for providing notification of availability of an object on a multitasking computer. A first object is executed. While the first object is executing, a second object is enabled for receiving a user input on a user interface of the computer. It is then determined when the first object becomes accessible. Becoming accessible implies either the availability for entering input to a task or session or the termination of an asynchronously executing task. When the first object becomes accessible, a notification is provided on the user interface.
The present invention provides automatic notification to a user of when an object becomes accessible. Thus, a user can execute a first object on a computer. The user need not wait for the object to finish executing. Instead, the user can turn to other tasks, such as interfacing with the second object. While interfacing with the second object, the user need not return to the first object to check on the progress of its execution. With the present invention, a buoy icon object is automatically displayed on the screen when the first object becomes accessible or otherwise ceases execution.
In accordance with one aspect of the present invention, the determination of when the first object becomes accessible further includes the determination of when the first object provides a prompt for a user input.
In another aspect of the present invention, the determination of when the first object becomes accessible further includes the determination of when an asynchronously executing task terminates.
In accordance with still another aspect of the present invention, the provision of a notification on the user interface when the first object becomes accessible further includes displaying a buoy icon on a screen. In addition to the buoy icon, a name of the first object can be displayed in proximity to the buoy icon. Also, a line or other visual indicator between the buoy icon and the first object can be displayed on the screen.
In accordance with another aspect of the present invention, the computer contains plural objects which include first and second objects. The present invention allows enabling the notification for selected ones of the objects. In still another aspect of the present invention, the notification can be disabled for selected ones of said objects.
In still another aspect of the present invention, the notification can be removed from the user interface after the notification has been displayed.
In still another aspect of the present invention, after the notification has been displayed, the notification is selected. Then, the associated object is focused on the user interface, wherein user input can be provided to the newly focused object.
In still another aspect of the present invention, the computer includes a third object, and the notification is a first notification. The third object is executed. A determination is made when the third object becomes accessible. A second notification is displayed on the user interface when the third object becomes accessible. The second notification is removed from the user interface while maintaining the first notification on the user interface. Alternatively, instead of removing the second notification from the user interface, the second notification can be selected, wherein the third object is focused on a user interface while maintaining the first notification on the user interface.